04. 代码规范——命名

简洁、干净的代码,不仅在质量上更为可靠,也为后期维护、升级奠定了良好基础。在阅读和修改别人的代码时,若该代码拥有良好的代码风格,那么阅读者也会更加容易读懂和上手。

我们将介绍适用于任何编程语言的代码规范,希望你能仔细阅读,在写下第一行代码时就开始遵循以下原则。

命名

Dos

  • 变量、函数或类的名称必须言之有物,它应该告诉读者,它的功能是什么,它应该怎么用。
  • 使用可搜索的名称。试想一下,在几万行代码中搜索capitalized_name是很容易的,但要找出命名为 ae的变量可就麻烦了,因为它们是最常出现的字母,在每个程序、每段代码中都可能出现。由此可见,搜得到的长名称优于自造的短名称。

Don'ts

  • 代码中的命名严禁使用拼音和英文混合的方式,当然更不允许使用中文
  • 不要使用过长的命名。当然,一个言之有物的命名和一个简短的命名之间可能存在一些冲突,这时就需要你用最精炼的词语来表达最丰富的含义。如果实在做不到,那言之有物的优先级更高一些。比如 how_heavy_is_the_car就不如car_weight来的简洁。
  • 尽量不要使用单词缩写或首字母缩写,只有当标识符过长时才考虑使用单词缩写。不要自创缩写,尽量使用被广泛接受的缩写。比如把Message缩写成Msg,把Quantity缩写成Qty是可以接受的,但缩写成MesQuan却是不可接受的。
  • 不要以数字系列命名,比如 value1, value2,..., valueN
  • 不要用L小写字母 l和**大写字母 O **作为变量名,因为他们看起来和数字“壹”、“零”太过相似。

以下是一个变量名造成误导的极端例子:

some_value = l
if 0==1:
    some_value = O1
else:
    l = 01

matching:命名是否合理并指出原因

QUIZ QUESTION::

请指出以下命名是好坏并指出原因

ANSWER CHOICES:



命名

判断

item1

order_id

getHomeAddress

ANJ

youzheng_bianma

days_in_month

number_of_days_in_a_month

SOLUTION:

命名

判断

order_id

getHomeAddress

days_in_month

ANJ

youzheng_bianma

order_id

getHomeAddress

days_in_month

order_id

getHomeAddress

days_in_month

number_of_days_in_a_month

item1